var popoveropen = false;
var $anter = null;
    
$(document).ready(function() {
    $("[rel=socialLinks]").popover({
        placement : 'top',
        html: 'true', 
        title: function () {
            return $("#popover-head").html();
        },
        content: function () {
            return $("#popover-content").html();
        }
    });
});
function ajaxPost(urlDest, dataDest, type, idFuntion){
    $('.cargando').show();
    $.ajax({
        method: "post",
        cache:false,
        //timeout:8000,
        url: urlDest,
        data: dataDest,
        dataType: type,
        success:function(data){
            $('.cargando').hide();
            manipularData(data,idFuntion);
        },
        error: function(jqXHR, textStatus, errorThrown) {
            $('.cargando').hide();
            if(textStatus==="timeout") {
                alert("got timeout");
            }
            console.log(jqXHR);
            console.log(textStatus);
            console.log(errorThrown);
        },
        statusCode: {
            404: function() {
                alert("404: Recurso no encontrado" );
            },
            403: function() {
                alert("403: La solicitud fue legal, pero el servidor se rehúsa a responderla.");
            },
            410: function() {
                alert("410: Ya no disponible.");
            },
            500: function () {
                alert("500: Error interno del servidor.");
            },
            501: function() {
                alert("501: No implementado.");
            },
            503: function(){
                alert("503: Servicio no disponible");
            }
        }
    });
}
function manipularData(jsonData, id){ //aún en mantenimiento
    switch(id){
        case 'login':
            if(jsonData.roles==null){
                $('#mensaje').html('Error: usuario o contrase&ntilde;a incorrectos.');
                $('.alert').show('slow');
            } else {
                if(jsonData.roles==0 || jsonData.roles.length==0) {
                    $('#mensaje').html('Error: Usuario ha sido dado de baja, si esto es un error comuniquese con uno de los encargados.');
                    $('.alert').show('slow');
                } else { // usuario y roles son validos
                   document.location.href = "/SICOM_CCI/view/Equipo/AdminEquipo.jsp"
                }
            }
            break;
        case 'insertUsr':
            var resp = jsonData['resp'];
            if(resp=='ok'){
                $('.alert-success').children('#mensaje').html('<p>Se ha ingresar exitosamente.</p>');
                $('input.toSend').each(function(){ //limpio los campos por si quiere insertar un nuevo usuario
                   if($(this).parent().parent().attr('hidden')!='hidden'){$(this).val('');}
                });
                $(".alert-success").show('slow');
            } else {
                var alertText = 'No se ha podido ingresar este usuario: ' + resp +'.';
                console.log(alertText);
                $('.alert-danger').children('#mensaje').html('<p>'+ alertText +'</p>');
                $(".alert-danger").show('slow');
            }
            break;
        case 'updateUsr':
            if(jsonData['resp']=='ok'){
                $('.alert-success').children('#mensaje').html('<p>Se ha actualizado exitosamente.</p>');
                $(".alert-success").show('slow');
            } else {
                $('.alert-danger').children('#mensaje').html('<p>No se ha podido actualizar este usuario: '+
                    + jsonData['resp']
                    +'.</p>');
                $(".alert-danger").show('slow');
            }
            break;
        case 'deleteUsr':
            if(jsonData['resp']=='ok'){
                $('.alert-success').children('#mensaje').html('<p>Se ha eliminado exitosamente.</p>');
                $(".alert-success").show();
            } else {
                $('.alert-danger').children('#mensaje').html('<p>No se ha podido eliminar este usuario: '+
                    + jsonData['resp']
                    +'.</p>');
                $(".alert-danger").show('slow');
            }
            break;
        default:console.log('No action');
            break;
    }
}
$(function() { //para los eventos del dom que necesitan que este este cargado
    $('.cargando').hide();
    $('.alert').hide();
    $('.closeAlert').button();
    $('.closeAlert').click( function(){
        $('.alert').hide('slow');
    });
    $('button[id^="CTG_"]').click(function (event) {
        if (popoveropen == true && $anter != null) {
            $anter.popover('destroy');
            popoveropen = false;
        }
        $('#'+event.target.id).parent().removeClass('has-error');
        var temp = $('#' + event.target.id + '_contenedor').html();
        $('#'+event.target.id).popover({
            placement : 'right',
            html: 'true', 
            title:  function () {
                var titulo = jQuery('<div>' + $('#' + event.target.id + '_contenedor').attr('title') + '</div>');
                var j = jQuery('<button id="closePopOver" style="float:right;"><span class="ui-icon ui-icon-close"></span></button>').css({'height': '20px', 'margin-bottom':'7px','width': '33px', 'float':'right'});
                titulo.append(j);
                return titulo;
            },
            content: temp
        });
        $('#'+event.target.id).popover('show');
        $anter = $('#'+event.target.id);
        popoveropen = true;
        cargarDatosPopOver($(this).next().children('.popover-content').children(),event.target.id);
    });
    $('body').delegate('#closePopOver','click',function (event) {
        event.preventDefault();
        if (popoveropen == true && $anter != null){
            $anter.popover('destroy');
            popoveropen = false;
        }
    });
    $('body').delegate('.rolCheck','click',function () {
        var roles = '';
        $(this).parent().parent().children('span').each(function() {
            if($(this).children().is(':checked')){
                roles = roles + ',' + $(this).children().attr('name');
            }
        });
        $('#roles').val(roles.substring(1));
    });
});
function crearJsonData_form($form){
    var json = '{';
    $form.children().children().children('.toSend').each(function () {
        json = json + '\"' + $(this).attr('name') + '\":\"' + $(this).val() + '\",';
    });
    json = json.substring(0,json.length-1) + '}';
    return json;
}
function cargarDatosPopOver($popOverContent,idTarget) {
    switch(idTarget){
        case 'CTG_roles':
            var rolesArray = $('#roles').val().split(',');
            for(var i=0; i<rolesArray.length;i++){
                $popOverContent.children('span').each(function () {
                    if($(this).children().attr('name')==rolesArray[i]){
                        $(this).children().attr('checked',true);
                    }
                });
            }
    }
}
function CapitalLetter(text){
    return text.substring(0, 1).toUpperCase() + text.substring(1);
}